package com.it.schoolbookshop_back.service;

import com.it.schoolbookshop_back.entities.po.Report;

import java.util.List;

/**
 * 举报服务接口
 */
public interface ReportService {
    
    /**
     * 根据举报人ID获取举报记录
     * 
     * @param reporterId 举报人ID
     * @return 举报记录列表
     */
    List<Report> getReportsByReporterId(Integer reporterId);
    
    /**
     * 根据被举报人ID获取举报记录
     * 
     * @param reportedId 被举报人ID
     * @return 举报记录列表
     */
    List<Report> getReportsByReportedId(Integer reportedId);
    
    /**
     * 根据书籍ID获取举报记录
     * 
     * @param bookId 书籍ID
     * @return 举报记录列表
     */
    List<Report> getReportsByBookId(Integer bookId);
    
    /**
     * 创建举报记录
     * 
     * @param report 举报信息
     * @return 是否创建成功
     */
    boolean createReport(Report report);
    
    /**
     * 处理举报
     * 
     * @param reportId 举报ID
     * @param status 处理状态
     * @param adminComment 管理员备注
     * @return 是否处理成功
     */
    boolean processReport(Integer reportId, String status, String adminComment);
    
    /**
     * 获取所有举报记录
     * 
     * @return 所有举报记录列表
     */
    List<Report> getAllReports();
} 